home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / Window.h < prev    next >
C/C++ Source or Header  |  1990-11-28  |  1KB  |  55 lines

  1. #ifndef Window_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define Window_First
  6.  
  7. #include "BlankWin.h"
  8. #include "BorderItems.h"
  9.  
  10. enum WindowFlags {
  11.     eWinCanClose    =   BIT(eBWinLast+1),
  12.     eWinDestroy     =   BIT(eBWinLast+2),
  13.     eWinDefault     =   eBWinDefault,
  14.     eWinLast        =   eBWinLast + 2
  15. };
  16.  
  17. class Window: public BlankWin {
  18.     class Menu *menu;
  19.     class WindowPort *MakePort();
  20.  
  21. public:
  22.     MetaDef(Window);
  23.     
  24.     Window(EvtHandler*, Point e, WindowFlags f, VObject*, char *title= 0);
  25.     ~Window();
  26.     void Control(int id, int part, void *vp);
  27.     Command *DispatchEvents(Point lp, Token t, Clipper *vf);
  28.     
  29.     //---- title related methods
  30.     void SetTitle(char*, bool redraw= TRUE);
  31.     char *GetTitle();
  32.  
  33.     //---- Menu related methods
  34.     class Menu *GetMenu();
  35. };
  36.  
  37. //---- WindowBorderItem --------------------------------------------------------
  38.  
  39. class WindowBorderItem: public AbstractBorderItem {
  40.     bool fixed;
  41. public:
  42.     MetaDef(WindowBorderItem);
  43.     
  44.     WindowBorderItem(bool fixed, VObject *title, VObject *inner);
  45.     
  46.     Rectangle TitleRect();
  47.     void Draw(Rectangle);
  48.     Command *DoLeftButtonDownCommand(Point p, Token, int);
  49.     ostream& PrintOn (ostream&s);
  50.     istream& ReadFrom(istream &);
  51. };
  52.  
  53. #endif Window_First
  54.  
  55.